package cn.thinkluck.pattern.state;

/**
 * 状态模式实现
 * @Author liutao
 * @DateTime 2024/8/3 下午4:14
 */
public class Main {
    /**
     * 使用状态模式实现电视遥控器的操作
     * 避免了各种电视状态耦合在一起，各种状态互相影响，如果不使用状态模式，新加一种状态就会影响其他状态，会有很多的if else判断
     * 使用状态模式之后，当要新加一种其他状态时，只需要增加新的状态类即可
     */
    public static void main(String[] args) {
        XiaoMiTV xiaoMiTV = new XiaoMiTV();
        //开机
        xiaoMiTV.open();
        //调节音量
        xiaoMiTV.volumeUp();
        //关机
        xiaoMiTV.close();
        //调节音量
        xiaoMiTV.volumeUp();
    }
}
